#pragma once

#include <TFT_eSPI.h>
#include "rm67162.h"
#include "pins_config.h"

class Screen {
public:
  TFT_eSPI tft = TFT_eSPI();
  TFT_eSprite spr = TFT_eSprite(&tft);

  int32_t width = spr.width();
  int32_t height = spr.height();

  // 初始化配置
  void init();
  // 清屏
  void clear();
  // 把像素绘制到屏幕
  void drawScreen();
  // 清屏 上中
  void clearAndCenter();
  // 清屏 上左
  void clearAndLeft();
  // 清屏 中中
  void clearAndCenterCenter();
  // 在屏幕指定位置绘制字符串
  void drawString(const String &string, int32_t x, int32_t y, uint8_t font);
  // 在屏幕指定位置绘制字符串
  void drawString(const String &string, int32_t x, int32_t y);
  // 在屏幕指定位置绘制数字
  void drawNumber(long intNumber, int32_t x, int32_t y, uint8_t font);
  // 在屏幕指定位置绘制数字
  void drawNumber(long intNumber, int32_t x, int32_t y);
  // 设置字体颜色为白色
  void textWhite();
};
